package com.pro.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.Objects;

public class JsMicrocircle {

  private long microcircleId;//微圈id
  private long userId;//发布微圈用户id
  private String userName;//用户名称
  private String artcleTitle;//文章标题
  private String artcleKeywords;//搜索关键字
  private String artcleUrl;//文章图片路径
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createDate;//创建时间
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date releaseDate;//发布时间
  private long acticleCategroyId;//文章分类id
  private String artcleCategroyName;//文章分类名称
  private long acticleHits;//文章点击数量
  private long acticleLike;//文章点赞数量
  private long acticleReviews;//文章评论数量
  private long acticleShare;//文章分享数量
  private long acticleCollection;//文章收藏量
  private long show;//是否显示，2显示，3隐藏
  private long serialNumber;//序号
  private String article;//文章内容
  private String updateId;//更新人
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateDate;//更新时间
  private long details;//状态，2草稿，3已通过，4未提交，5已提交，6退回
  private String trueName;//用户名称
  private String account;//用户账号
  private Integer commodityId;//评论对象id
  private Integer parentId;//评论的层级
  private Integer collectionId;//收藏表id

  public long getMicrocircleId() {
    return microcircleId;
  }

  public void setMicrocircleId(long microcircleId) {
    this.microcircleId = microcircleId;
  }

  public long getUserId() {
    return userId;
  }

  public void setUserId(long userId) {
    this.userId = userId;
  }

  public String getUserName() {
    return userName;
  }

  public void setUserName(String userName) {
    this.userName = userName;
  }

  public String getArtcleTitle() {
    return artcleTitle;
  }

  public void setArtcleTitle(String artcleTitle) {
    this.artcleTitle = artcleTitle;
  }

  public String getArtcleKeywords() {
    return artcleKeywords;
  }

  public void setArtcleKeywords(String artcleKeywords) {
    this.artcleKeywords = artcleKeywords;
  }

  public String getArtcleUrl() {
    return artcleUrl;
  }

  public void setArtcleUrl(String artcleUrl) {
    this.artcleUrl = artcleUrl;
  }

  public Date getCreateDate() {
    return createDate;
  }

  public void setCreateDate(Date createDate) {
    this.createDate = createDate;
  }

  public Date getReleaseDate() {
    return releaseDate;
  }

  public void setReleaseDate(Date releaseDate) {
    this.releaseDate = releaseDate;
  }

  public long getActicleCategroyId() {
    return acticleCategroyId;
  }

  public void setActicleCategroyId(long acticleCategroyId) {
    this.acticleCategroyId = acticleCategroyId;
  }

  public String getArtcleCategroyName() {
    return artcleCategroyName;
  }

  public void setArtcleCategroyName(String artcleCategroyName) {
    this.artcleCategroyName = artcleCategroyName;
  }

  public long getActicleHits() {
    return acticleHits;
  }

  public void setActicleHits(long acticleHits) {
    this.acticleHits = acticleHits;
  }

  public long getActicleLike() {
    return acticleLike;
  }

  public void setActicleLike(long acticleLike) {
    this.acticleLike = acticleLike;
  }

  public long getActicleReviews() {
    return acticleReviews;
  }

  public void setActicleReviews(long acticleReviews) {
    this.acticleReviews = acticleReviews;
  }

  public long getActicleShare() {
    return acticleShare;
  }

  public void setActicleShare(long acticleShare) {
    this.acticleShare = acticleShare;
  }

  public long getActicleCollection() {
    return acticleCollection;
  }

  public void setActicleCollection(long acticleCollection) {
    this.acticleCollection = acticleCollection;
  }

  public long getShow() {
    return show;
  }

  public void setShow(long show) {
    this.show = show;
  }

  public long getSerialNumber() {
    return serialNumber;
  }

  public void setSerialNumber(long serialNumber) {
    this.serialNumber = serialNumber;
  }

  public String getArticle() {
    return article;
  }

  public void setArticle(String article) {
    this.article = article;
  }

  public String getUpdateId() {
    return updateId;
  }

  public void setUpdateId(String updateId) {
    this.updateId = updateId;
  }

  public Date getUpdateDate() {
    return updateDate;
  }

  public void setUpdateDate(Date updateDate) {
    this.updateDate = updateDate;
  }

  public long getDetails() {
    return details;
  }

  public void setDetails(long details) {
    this.details = details;
  }

  public String getTrueName() {
    return trueName;
  }

  public void setTrueName(String trueName) {
    this.trueName = trueName;
  }

  public String getAccount() {
    return account;
  }

  public void setAccount(String account) {
    this.account = account;
  }

  public Integer getCommodityId() {
    return commodityId;
  }

  public void setCommodityId(Integer commodityId) {
    this.commodityId = commodityId;
  }

  public Integer getParentId() {
    return parentId;
  }

  public void setParentId(Integer parentId) {
    this.parentId = parentId;
  }

  public Integer getCollectionId() {
    return collectionId;
  }

  public void setCollectionId(Integer collectionId) {
    this.collectionId = collectionId;
  }

  public JsMicrocircle() {
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    JsMicrocircle that = (JsMicrocircle) o;
    return microcircleId == that.microcircleId &&
            userId == that.userId &&
            acticleCategroyId == that.acticleCategroyId &&
            acticleHits == that.acticleHits &&
            acticleLike == that.acticleLike &&
            acticleReviews == that.acticleReviews &&
            acticleShare == that.acticleShare &&
            acticleCollection == that.acticleCollection &&
            show == that.show &&
            serialNumber == that.serialNumber &&
            details == that.details &&
            Objects.equals(userName, that.userName) &&
            Objects.equals(artcleTitle, that.artcleTitle) &&
            Objects.equals(artcleKeywords, that.artcleKeywords) &&
            Objects.equals(artcleUrl, that.artcleUrl) &&
            Objects.equals(createDate, that.createDate) &&
            Objects.equals(releaseDate, that.releaseDate) &&
            Objects.equals(artcleCategroyName, that.artcleCategroyName) &&
            Objects.equals(article, that.article) &&
            Objects.equals(updateId, that.updateId) &&
            Objects.equals(updateDate, that.updateDate) &&
            Objects.equals(trueName, that.trueName) &&
            Objects.equals(account, that.account);
  }

  @Override
  public int hashCode() {
    return Objects.hash(microcircleId, userId, userName, artcleTitle, artcleKeywords, artcleUrl, createDate, releaseDate, acticleCategroyId, artcleCategroyName, acticleHits, acticleLike, acticleReviews, acticleShare, acticleCollection, show, serialNumber, article, updateId, updateDate, details, trueName, account);
  }

  public JsMicrocircle(long microcircleId, long userId, String userName, String artcleTitle, String artcleKeywords, String artcleUrl, Date createDate, Date releaseDate, long acticleCategroyId, String artcleCategroyName, long acticleHits, long acticleLike, long acticleReviews, long acticleShare, long acticleCollection, long show, long serialNumber, String article, String updateId, Date updateDate, long details, String trueName, String account) {
    this.microcircleId = microcircleId;
    this.userId = userId;
    this.userName = userName;
    this.artcleTitle = artcleTitle;
    this.artcleKeywords = artcleKeywords;
    this.artcleUrl = artcleUrl;
    this.createDate = createDate;
    this.releaseDate = releaseDate;
    this.acticleCategroyId = acticleCategroyId;
    this.artcleCategroyName = artcleCategroyName;
    this.acticleHits = acticleHits;
    this.acticleLike = acticleLike;
    this.acticleReviews = acticleReviews;
    this.acticleShare = acticleShare;
    this.acticleCollection = acticleCollection;
    this.show = show;
    this.serialNumber = serialNumber;
    this.article = article;
    this.updateId = updateId;
    this.updateDate = updateDate;
    this.details = details;
    this.trueName = trueName;
    this.account = account;
  }

  @Override
  public String toString() {
    return "JsMicrocircle{" +
            "microcircleId=" + microcircleId +
            ", userId=" + userId +
            ", userName='" + userName + '\'' +
            ", artcleTitle='" + artcleTitle + '\'' +
            ", artcleKeywords='" + artcleKeywords + '\'' +
            ", artcleUrl='" + artcleUrl + '\'' +
            ", createDate=" + createDate +
            ", releaseDate=" + releaseDate +
            ", acticleCategroyId=" + acticleCategroyId +
            ", artcleCategroyName='" + artcleCategroyName + '\'' +
            ", acticleHits=" + acticleHits +
            ", acticleLike=" + acticleLike +
            ", acticleReviews=" + acticleReviews +
            ", acticleShare=" + acticleShare +
            ", acticleCollection=" + acticleCollection +
            ", show=" + show +
            ", serialNumber=" + serialNumber +
            ", article='" + article + '\'' +
            ", updateId='" + updateId + '\'' +
            ", updateDate=" + updateDate +
            ", details=" + details +
            ", trueName='" + trueName + '\'' +
            ", account='" + account + '\'' +
            '}';
  }
}
